<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue.js"></script>
</head>

<body>
    <div id="root">
        <h2>人员列表</h2>
        <input type="text" placeholder="请输入名字" v-model="keyWord">
        <ul>
            <li v-for="(p, index) in filPersons" :key="index">
                {{p.name}}-{{p.age}}-{{p.sex}}
            </li>
        </ul>
    </div>
</body>
<script>
    // 用 watch 实现
    //#region 
    /*     new Vue({
            el:'#root',
            data:{
                keyWord:'',
                persons:[
                    {id:'001', name:'马冬梅',age:19,sex:'女'},
                    {id:'002', name:'周冬雨',age:19,sex:'女'},
                    {id:'003', name:'周杰伦',age:19,sex:'男'},
                    {id:'004', name:'温兆伦',age:19,sex:'男'}
                ],
                filPersons:[

                ]
            },
            watch:{
                keyWord:{
                    immediate:true,
                    handler(val){
                        // console.log('keyWord被改了', val);
                        this.filPersons = this.persons.filter((p)=>{
                        return p.name.indexOf(val) != -1
                        })
                    }

                }
            }
        }) */
    //#endregion

    // 用 computed 实现
    new Vue({
        el: '#root',
        data: {
            keyWord: '',
            persons: [{
                    id: '001',
                    name: '马冬梅',
                    age: 19,
                    sex: '女'
                },
                {
                    id: '002',
                    name: '周冬雨',
                    age: 19,
                    sex: '女'
                },
                {
                    id: '003',
                    name: '周杰伦',
                    age: 19,
                    sex: '男'
                },
                {
                    id: '004',
                    name: '温兆伦',
                    age: 19,
                    sex: '男'
                }
            ],

        },
        computed: {
            filPersons() {
                return this.persons.filter((p) => {
                    return p.name.indexOf(this.keyWord) != -1
                })
            }
        }
    })
</script>

</html>